home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / readers / utils / gui4cli / demos / keyboard.g < prev    next >
Text File  |  1996-10-28  |  7KB  |  417 lines

  1. G4C     - Keyboard.g by D.Keletsekis - 1996
  2.  
  3.  
  4. ; This is a little keyboard that appears when called on from other GUIs,
  5. ; according to 3 variables you have to set from the calling GUI, it
  6. ; will send it's output to the gadget specified.
  7.  
  8.  
  9.  
  10. WINBIG -1 -1 160 113 "KeyBoard"
  11. WinOnMouse 50 30
  12. WinType 11110001        ; Its got all the gadgets & is resizable
  13.  
  14. BOX 0 0 0 0 OUT BUTTON  ; a window sized beveled box, just for kicks..
  15.  
  16. xONLOAD
  17. setvar kbdCase U      ; Start with Upper case letters
  18.  
  19. xOnRMB
  20. GuiClose keyboard.g
  21.  
  22. xOnOpen
  23. setvar kbdDummy ""    ; Look at the update routine
  24.  
  25.  
  26. ;==========================> EXIT & Words buttons
  27.  
  28. xCYCLER 5 3 100 14 "" kbdCase         ; This cycler will choose the Case
  29. CSTR "UPPER" U
  30. CSTR "lower" L
  31.  
  32. xBUTTON 105 3 25 14 <            ; BackSpace button
  33. setvar kbdLetter BACK
  34. gosub keyboard.g KbdUpdate
  35.  
  36. xBUTTON 130 3 25 14 C            ; Clear all button
  37. setvar kbdLetter CLEAR
  38. gosub keyboard.g KbdUpdate
  39.  
  40.  
  41. ;=========================> UPDATE routine
  42.  
  43. xROUTINE KbdUpdate
  44. if $kbdLetter = CLEAR
  45.    setvar $kbdBuffer ""
  46. else
  47.    if $kbdLetter = BACK
  48.       cutvar $kbdBuffer CUT CHAR -1 ""
  49.    else
  50.       AppVar $kbdBuffer $kbdLetter
  51.    endif
  52. endif
  53.  
  54. setvar kbdDummy \$$kbdBuffer          ; put a $ in front
  55.  
  56. docase $kbdGadID
  57.    case = 1
  58.         update $kbdGui 1 $kbdDummy
  59.         break
  60.    case = 2
  61.         update $kbdGui 2 $kbdDummy
  62.         break
  63.    case = 3
  64.         update $kbdGui 3 $kbdDummy
  65.         break
  66. endcase   
  67.  
  68.  
  69. ; NOTE: when keyboard.g is first opened, the variable kbdBuffer is set
  70. ; by the calling GUI to the name of the buffer we want to edit, so we
  71. ; can setvar, cutvar or appvar the correct variable.
  72. ; Afterwards, we use the "kbdDummy" variable to get the contents of 
  73. ; the variable whose name is in kbdBuffer, for the update command,
  74. ; by storing into kbdDummy the contents of kbdBuffer with a $ in
  75. ; front of it (like a pointer to a pointer in C :)
  76.  
  77.  
  78. ;==========================> Letter buttons
  79.  
  80. xBUTTON 5 20 15 14 Q                  ; First row
  81. if $kbdCase = U
  82.    SetVar kbdLetter Q
  83. else
  84.    SetVar kbdLetter q
  85. endif
  86. gosub keyboard.g KbdUpdate
  87.  
  88. xBUTTON 20 20 15 14 W
  89. if $kbdCase = U
  90.    SetVar kbdLetter W
  91. else
  92.    SetVar kbdLetter w
  93. endif
  94. gosub keyboard.g KbdUpdate
  95.  
  96. xBUTTON 35 20 15 14 E
  97. if $kbdCase = U
  98.    SetVar kbdLetter E
  99. else
  100.    SetVar kbdLetter e
  101. endif
  102. gosub keyboard.g KbdUpdate
  103.  
  104. xBUTTON 50 20 15 14 R
  105. if $kbdCase = U
  106.    SetVar kbdLetter R
  107. else
  108.    SetVar kbdLetter r
  109. endif
  110. gosub keyboard.g KbdUpdate
  111.  
  112. xBUTTON 65 20 15 14 T
  113. if $kbdCase = U
  114.    SetVar kbdLetter T
  115. else
  116.    SetVar kbdLetter t
  117. endif
  118. gosub keyboard.g KbdUpdate
  119.  
  120. xBUTTON 80 20 15 14 Y
  121. if $kbdCase = U
  122.    SetVar kbdLetter Y
  123. else
  124.    SetVar kbdLetter y
  125. endif
  126. gosub keyboard.g KbdUpdate
  127.  
  128. xBUTTON 95 20 15 14 U
  129. if $kbdCase = U
  130.    SetVar kbdLetter U
  131. else
  132.    SetVar kbdLetter u
  133. endif
  134. gosub keyboard.g KbdUpdate
  135.  
  136. xBUTTON 110 20 15 14 I
  137. if $kbdCase = U
  138.    SetVar kbdLetter I
  139. else
  140.    SetVar kbdLetter i
  141. endif
  142. gosub keyboard.g KbdUpdate
  143.  
  144. xBUTTON 125 20 15 14 O
  145. if $kbdCase = U
  146.    SetVar kbdLetter O
  147. else
  148.    SetVar kbdLetter o
  149. endif
  150. gosub keyboard.g KbdUpdate
  151.  
  152. xBUTTON 140 20 15 14 P
  153. if $kbdCase = U
  154.    SetVar kbdLetter P
  155. else
  156.    SetVar kbdLetter p
  157. endif
  158. gosub keyboard.g KbdUpdate
  159.  
  160.  
  161. xBUTTON 5 35 15 14 A                  ; 2nd row
  162. if $kbdCase = U
  163.    SetVar kbdLetter A
  164. else
  165.    SetVar kbdLetter a
  166. endif
  167. gosub keyboard.g KbdUpdate
  168.  
  169. xBUTTON 20 35 15 14 S
  170. if $kbdCase = U
  171.    SetVar kbdLetter S
  172. else
  173.    SetVar kbdLetter s
  174. endif
  175. gosub keyboard.g KbdUpdate
  176.  
  177. xBUTTON 35 35 15 14 D
  178. if $kbdCase = U
  179.    SetVar kbdLetter D
  180. else
  181.    SetVar kbdLetter d
  182. endif
  183. gosub keyboard.g KbdUpdate
  184.  
  185. xBUTTON 50 35 15 14 F
  186. if $kbdCase = U
  187.    SetVar kbdLetter F
  188. else
  189.    SetVar kbdLetter f
  190. endif
  191. gosub keyboard.g KbdUpdate
  192.  
  193. xBUTTON 65 35 15 14 G
  194. if $kbdCase = U
  195.    SetVar kbdLetter G
  196. else
  197.    SetVar kbdLetter g
  198. endif
  199. gosub keyboard.g KbdUpdate
  200.  
  201. xBUTTON 80 35 15 14 H
  202. if $kbdCase = U
  203.    SetVar kbdLetter H
  204. else
  205.    SetVar kbdLetter h
  206. endif
  207. gosub keyboard.g KbdUpdate
  208.  
  209. xBUTTON 95 35 15 14 J
  210. if $kbdCase = U
  211.    SetVar kbdLetter J
  212. else
  213.    SetVar kbdLetter j
  214. endif
  215. gosub keyboard.g KbdUpdate
  216.  
  217. xBUTTON 110 35 15 14 K
  218. if $kbdCase = U
  219.    SetVar kbdLetter K
  220. else
  221.    SetVar kbdLetter k
  222. endif
  223. gosub keyboard.g KbdUpdate
  224.  
  225. xBUTTON 125 35 15 14 L
  226. if $kbdCase = U
  227.    SetVar kbdLetter L
  228. else
  229.    SetVar kbdLetter l
  230. endif
  231. gosub keyboard.g KbdUpdate
  232.  
  233. xBUTTON 140 35 15 14 '"'
  234. SetVar kbdLetter '"'
  235. gosub keyboard.g KbdUpdate
  236.  
  237.  
  238. xBUTTON 5 50 15 14 <                  ; 3rd row
  239. SetVar kbdLetter <
  240. gosub keyboard.g KbdUpdate
  241.  
  242. xBUTTON 20 50 15 14 Z
  243. if $kbdCase = U
  244.    SetVar kbdLetter Z
  245. else
  246.    SetVar kbdLetter z
  247. endif
  248. gosub keyboard.g KbdUpdate
  249.  
  250. xBUTTON 35 50 15 14 X
  251. if $kbdCase = U
  252.    SetVar kbdLetter X
  253. else
  254.    SetVar kbdLetter x
  255. endif
  256. gosub keyboard.g KbdUpdate
  257.  
  258. xBUTTON 50 50 15 14 C
  259. if $kbdCase = U
  260.    SetVar kbdLetter C
  261. else
  262.    SetVar kbdLetter c
  263. endif
  264. gosub keyboard.g KbdUpdate
  265.  
  266. xBUTTON 65 50 15 14 V
  267. if $kbdCase = U
  268.    SetVar kbdLetter V
  269. else
  270.    SetVar kbdLetter v
  271. endif
  272. gosub keyboard.g KbdUpdate
  273.  
  274. xBUTTON 80 50 15 14 B
  275. if $kbdCase = U
  276.    SetVar kbdLetter B
  277. else
  278.    SetVar kbdLetter b
  279. endif
  280. gosub keyboard.g KbdUpdate
  281.  
  282. xBUTTON 95 50 15 14 N
  283. if $kbdCase = U
  284.    SetVar kbdLetter N
  285. else
  286.    SetVar kbdLetter n
  287. endif
  288. gosub keyboard.g KbdUpdate
  289.  
  290. xBUTTON 110 50 15 14 M
  291. if $kbdCase = U
  292.    SetVar kbdLetter M
  293. else
  294.    SetVar kbdLetter m
  295. endif
  296. gosub keyboard.g KbdUpdate
  297.  
  298. xBUTTON 125 50 15 14 >
  299. SetVar kbdLetter >
  300. gosub keyboard.g KbdUpdate
  301.  
  302. xBUTTON 140 50 15 14 .
  303. SetVar kbdLetter .
  304. gosub keyboard.g KbdUpdate
  305.  
  306.  
  307. xBUTTON 5 65 15 14 !                  ; 4th row
  308. SetVar kbdLetter !
  309. gosub keyboard.g KbdUpdate
  310.  
  311. xBUTTON 20 65 15 14 @
  312. SetVar kbdLetter @
  313. gosub keyboard.g KbdUpdate
  314.  
  315. xBUTTON 35 65 15 14 #
  316. SetVar kbdLetter #
  317. gosub keyboard.g KbdUpdate
  318.  
  319. xBUTTON 50 65 60 14 Space
  320. SetVar kbdLetter " "
  321. gosub keyboard.g KbdUpdate
  322.  
  323. xBUTTON 110 65 15 14 %
  324. SetVar kbdLetter %
  325. gosub keyboard.g KbdUpdate
  326.  
  327. xBUTTON 125 65 15 14 "^"
  328. SetVar kbdLetter "^"
  329. gosub keyboard.g KbdUpdate
  330.  
  331. xBUTTON 140 65 15 14 &
  332. SetVar kbdLetter &
  333. gosub keyboard.g KbdUpdate
  334.  
  335.  
  336. xBUTTON 5 80 15 14 1                  ; 5th row
  337. SetVar kbdLetter 1
  338. gosub keyboard.g KbdUpdate
  339.  
  340. xBUTTON 20 80 15 14 2
  341. SetVar kbdLetter 2
  342. gosub keyboard.g KbdUpdate
  343.  
  344. xBUTTON 35 80 15 14 3
  345. SetVar kbdLetter 3
  346. gosub keyboard.g KbdUpdate
  347.  
  348. xBUTTON 50 80 15 14 4
  349. SetVar kbdLetter 4
  350. gosub keyboard.g KbdUpdate
  351.  
  352. xBUTTON 65 80 15 14 5
  353. SetVar kbdLetter 5
  354. gosub keyboard.g KbdUpdate
  355.  
  356. xBUTTON 80 80 15 14 6
  357. SetVar kbdLetter 6
  358. gosub keyboard.g KbdUpdate
  359.  
  360. xBUTTON 95 80 15 14 7
  361. SetVar kbdLetter 7
  362. gosub keyboard.g KbdUpdate
  363.  
  364. xBUTTON 110 80 15 14 8
  365. SetVar kbdLetter 8
  366. gosub keyboard.g KbdUpdate
  367.  
  368. xBUTTON 125 80 15 14 9
  369. SetVar kbdLetter 9
  370. gosub keyboard.g KbdUpdate
  371.  
  372. xBUTTON 140 80 15 14 0
  373. SetVar kbdLetter 0
  374. gosub keyboard.g KbdUpdate
  375.  
  376.  
  377. xBUTTON 5 95 15 14 (                  ; 6th row
  378. SetVar kbdLetter (
  379. gosub keyboard.g KbdUpdate
  380.  
  381. xBUTTON 20 95 15 14 )
  382. SetVar kbdLetter )
  383. gosub keyboard.g KbdUpdate
  384.  
  385. xBUTTON 35 95 15 14 +
  386. SetVar kbdLetter +
  387. gosub keyboard.g KbdUpdate
  388.  
  389. xBUTTON 50 95 15 14 -
  390. SetVar kbdLetter -
  391. gosub keyboard.g KbdUpdate
  392.  
  393. xBUTTON 65 95 15 14 *
  394. SetVar kbdLetter *
  395. gosub keyboard.g KbdUpdate
  396.  
  397. xBUTTON 80 95 15 14 /
  398. SetVar kbdLetter /
  399. gosub keyboard.g KbdUpdate
  400.  
  401. xBUTTON 95 95 15 14 =
  402. SetVar kbdLetter =
  403. gosub keyboard.g KbdUpdate
  404.  
  405. xBUTTON 110 95 15 14 :
  406. SetVar kbdLetter :
  407. gosub keyboard.g KbdUpdate
  408.  
  409. xBUTTON 125 95 15 14 "'"
  410. SetVar kbdLetter "'"
  411. gosub keyboard.g KbdUpdate
  412.  
  413. xBUTTON 140 95 15 14 ','
  414. SetVar kbdLetter ','
  415. gosub keyboard.g KbdUpdate
  416.  
  417.